MagMD jest programem, który przelicza ceny detaliczne stanów magazynowych dla leków z marżą degresywną. Przeliczenie cen jest konieczne zgodnie z rozporządzeniem Ministra Finansów z dnia 31 marca 2000 r. Przed wywołaniem programu należy: 1. Wykonać Kopię zapasową bazy danych 2. Zmienić parametr DEGR_MARGIN_MODE zgodnie z opisem zmian uaktualnienia z 1 maja 2000 3. Dla bezpieczeństwa należy sporządzić pełny remanent Po zakończeniu działania programu należy wykonać pełny remanent i sprawdzić czy ceny i ilości w magazynie zostały dobrze przeliczone. Podczas działania program dopisuje do pliku o nazwie CONVERT.LOG dane o zmienionych partiach magazynowych: nazwę leku, starą i nową cenę. Oprócz tego program dopisuje do historii operacji stany magazynowe które dodał i które zmodyfikował. Program może w trakcie działania dopisać nowe stany magazynowe. Po przeliczeniu magazynu mogą znaleźć stany magazynowe z ilością 0. Uruchomienie programu: Uruchamiająć program należy podać które kartoteki mają być uwzględnione przy przeliczaniu. Na przykład, jeżeli chcemy przeliczyć ceny z kartotek leków gotowych i substratów, to wywołanie programu powinno byc następujące: magmd /1 /2 Do przeliczenia całego magazynu należy uruchomić: magmd /1 /2 /3 Lista wszystkich parametrów programu: magmd /1 /2 /3 /mode:m /sys:s /user:u /file:f /quiet 1 - uwzględnij leki gotowe 2 - uwzględnij substraty 3 - uwzględnij pozostałe artykuły mode - tryb pracy programu: SINGLE (*), SHARED sys - katalog systemowy: F:\FARMA\SYSTEM (*) user - użytkownik: MAG1 (*) file - plik, do którego generowany jest raport o zmianach stanów quiet - nie wyświetla nic ekranie (*) wartości domyślne. Działanie programu: Program przegląda stany magazynowe leków z marżą degresywną. Dla każdej partii magazynowej sprawdza wszystkie pozycje dokumentów zakupu, które zmieniały ilość w tej partii. Na podstawie ceny zakupu po rabacie przelicza cenę sprzedaży, niezależnie od tego, czy cena zakupu jest większa, czy mniejsza od 100 zł. Po obliczeniu nowej ceny, program pobiera ilość z pozycji tego dokumentu zakupu i próbuje dodać do magazynu partię z taką ceną i ilością. Jeżeli w magazynie już jest taka cena, program modyfikuje tą partię magazynową, zostawiając ślad w historii operacji. Jednocześnie ilość w partii wyjściowej jest zmiejszana o ilość występująca w pozycji dokumentu zakupu. Po wyczerpaniu wszystkich dokumentów zakupu, ilość w wyjściowej partii magazynowej powinna wynosic 0. Oznacza to, że wszystkie dokumenty zakupu, które dodały do tej partii magazynowej, zostały odnalezione. W przeciwnym razie (gdy ilość w partti jest jednak większa od 0) program ustawia w bieżacej partii cenę wyliczoną na podstawie ceny sprzedaży i marży Program przegląda dokumenty zakupu od najnowszego do najstarzego.